<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      function Student() {}
      Student.prototype.xuehao = false
      Object.defineProperty(Student.prototype, 'shengri', {
        enumerable: false,
      })
      Student.prototype.print = function () {}
      let s1 = new Student()
      for (let p in s1) {
        console.log(p, s1[p])
      }

      //Student构造器
      // function Student() {}

      // Student.prototype.id = 1001 || 101
      // Student.prototype.name = '无悔' || '匿名'
      // Student.prototype.birthday = 1994 || 1970
      // Student.prototype.hobby = ['阅读', '电影', '足球']
      // Student.prototype.inSchool = true || true
      // Student.prototype.familyAddress = {
      //   province: '广东省',
      //   city: '珠海市',
      //   area: '斗门区',
      // }

      // let stu = new Student()
      // stu.id = 1002
      // stu.name = '张志'
      // stu.birthday = 1978
      // stu.hobby = ['阅读', '电影', '足球']
      // stu.familyAddress = {
      //   province: '广东省',
      //   city: '珠海市',
      //   area: '斗门区',
      // }
      // stu.inSchool = true
      // console.log(stu.id)
      // console.log(stu.name)
      // console.log(stu.birthday)
      // console.log(stu.hobby)
      // console.log(stu.inSchool)
      // console.log(stu.familyAddress)

      // //修改
      // Student.prototype.name = '杨辉'
      // console.log(stu.name)
      // //删除
      // delete Student.prototype.name
      // console.log(stu.name)
      // //迭代
      // for (let item in stu) {
      //   console.log(stu[item])
      // }

      // //数据属性
      // Object.defineProperty(stu, 'id', {
      //   configurable: false,
      //   enumerable: true,
      // })
      // Object.defineProperty(stu, 'name', {
      //   configurable: true,
      //   enumerable: true,
      // })
      // Object.defineProperty(stu, 'birthday', {
      //   configurable: false,
      //   enumerable: false,
      // })
      // Object.defineProperty(stu, 'hobby', {
      //   configurable: true,
      //   enumerable: true,
      // })
      // Object.defineProperty(stu, 'inSchool', {
      //   configurable: true,
      //   enumerable: true,
      // })
      // Object.defineProperty(stu, 'familyAddress', {
      //   configurable: true,
      //   enumerable: true,
      // })

      // //访问器属性
      // // let stus = { _id: 1 }
      // // Objetc.defineProperty(stus, 'id', {
      // //   configurable: false,
      // //   enumerable: true,
      // //   get: function () {
      // //     return this.id
      // //   },
      // //   set: function (val) {
      // //     if (!isNaN(val)) {
      // //       this.id = val
      // //     } else {
      // //       throw new Error('请输入数字')
      // //     }
      // //   },
      // // })
      // // console.log(stu.id)
      // //Student.prototype.id = aaa
      // //转换json字符串
      // // var json = JSON.stringify(stu)
      // // console.log(json)
      // var json = JSON.stringify(stu, [
      //   'id',
      //   'name',
      //   'birthday',
      //   'hobby',
      //   'inSchool',
      //   'familyAddress',
      // ])
      // console.log(json)

      // var json2 = JSON.stringify(stu.hobby)
      // console.log(json2)

      // var date = new Date()
      // date = stu.birthday
      // console.log(date)

      // var json3 = JSON.parse(stu)
      // console.log(json3)
    </script>
  </body>
</html>
